<?php
/**
 * 获取微信操作对象
 * @staticvar array $wechat
 * @param type $type
 * @param configID $type 使用哪个微信配置
 * @return WechatReceive
 */
function & load_wechat($type = '',$configKey='weixin_mp') {
	!class_exists('Wechat\Loader', FALSE) && Vendor('Wechat.Loader'); 
    static $wechat = array();
    $index = md5(strtolower($type));
    if (!isset($wechat[$index])) {
		// 从数据库查询配置参数
        $config = C($configKey);
		// 设置SDK的缓存路径
		$configPath = '';
		if($configID){
			$configPath = $configID.'/';
		}
        $config['cachepath'] = CACHE_PATH . 'Data/'.$configPath; //适配多个微信配置
        $wechat[$index] = \Wechat\Loader::get_instance($type, $config);
    }
    return $wechat[$index];
}

/**
 * 判断是否在微信浏览器里面打开
 */
function isWeixin(){
    $user_agent = $_SERVER['HTTP_USER_AGENT'];
    if (strpos($user_agent, 'MicroMessenger') === false) {
        return false;
    } else {
        return true;
    }
}


/**
 * 获取临时二维码
 */
function getqr(){
    // SDK实例对象
    $extends = &load_wechat('Extends');

    $scene_data = create_scene_info();
    $result = $extends->getQRCode($scene_data['scene_id']);
    $img = $extends->getQRUrl($result['ticket']);
    $scene_data['img'] = $img;
    return $scene_data;
    // dump($result);
    // dump($img);
    // echo "<img src='".$img."'/>";
}
 
function create_scene_info(){
    $scene_id = rand(500000,700000);//总共20万

    if(S('scene_'.$scene_id)){
        create_scene_id();
        return false;
    }

    $scene = M('Users')->getField('scene',true);
    if(in_array($scene_id,$scene)){
        create_scene_id();
        return false;
    }

    S('scene_'.$scene_id,$scene_id,30*60);

    $uniqid = uniqid();
    S('scene_'.$uniqid.'_'.$scene_id,$scene_id,30*60);//30分钟有效期

    $data = [
        'unid' => $uniqid,
        'scene_id' => $scene_id
    ];
    return $data;
}
